// package ip4util 补充标准包中没有的常用函数
package ip4util

import "net"

// NextIP 返回下一个 IP 地址
func NextIP(ip net.IP) net.IP {
	ip = ip.To4()
	if ip == nil {
		return nil
	}
	ipLen := len(ip.To4())

	newIP := make(net.IP, ipLen)
	copy(newIP, ip)

	for i := ipLen - 1; i > 0; i-- {
		if newIP[i] == 0xff {
			newIP[i] = 0
			continue
		}

		newIP[i]++
		return newIP
	}
	return net.IPv4zero
}

// IsIPv4 判断是 IPv4 吗
func IsIPv4(ip net.IP) bool {
	ip4 := ip.To4()
	if ip4 == nil {
		return false
	}
	return true
}
